/*
 * @Authoryour name
 * @Date2021-01-02 22:48:03
 * @LastEditTime2021-01-02 22:48:03
 * @LastEditorsyour name
 * @DescriptionIn User Settings Edit
 * @FilePath\ART-Pi_STM32H750_Bootloader\Bsp\bsp_key\bsp_key.c
 */ 
#include "bsp_key.h"

/**
 * @brief  
 * @param  
 * @retval 
 */
void bsp_key_init(void)
{
    GPIO_InitTypeDef gpio_init;

    KEY_GPIO_CLK_ENABLE();

    gpio_init.Mode = GPIO_MODE_INPUT;
    gpio_init.Pin = KEY_USER_GPIO_PIN;
    gpio_init.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(KEY_USER_GPIO_PORT, &gpio_init);
}

void bsp_key_deinit(void)
{
    HAL_GPIO_DeInit(KEY_USER_GPIO_PORT, KEY_USER_GPIO_PIN);

    KEY_GPIO_CLK_DISABLE();
}

/**
 * @brief  
 * @param  
 * @retval 
 */
key_state_t bsp_key_get_status(key_index_t index)
{
    key_state_t key_state;
    if(HAL_GPIO_ReadPin(KEY_USER_GPIO_PORT, KEY_USER_GPIO_PIN) == GPIO_PIN_RESET)
    {
        key_state = KEY_STA_PRESSED;
    }
    else
    {
        key_state = KEY_STA_RELEASED;
    }
    return key_state;
}

